home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 34.zip / BS1 part 34 / Codex ass dev system v1.10.adf / include / devices / parallel.i < prev    next >
Text File  |  1988-09-19  |  4KB  |  127 lines

  1. ********************************************************************
  2. *               Commodore-Amiga, Inc.                              *
  3. *               parallel.i                                         *
  4. ********************************************************************
  5. ********************************************************************
  6. *
  7. * external declarations for Parallel Port Driver
  8. *
  9. * SOURCE CONTROL
  10. * ------ -------
  11. * $Header: parallel.i,v 25.0 85/03/27 19:14:15 tomp Exp $
  12. *
  13. * $Locker:  $
  14. *
  15. ********************************************************************
  16.  
  17.     IFND     DEVICES_PARALLEL_I
  18. DEVICES_PARALLEL_I SET 1
  19.  
  20.     IFND     EXEC_STRINGS_I
  21.     include 'exec/strings.i'
  22.     ENDC    !EXEC_STRINGS_I
  23.  
  24.     IFND     EXEC_IO_I
  25.     include 'exec/io.i'
  26.     ENDC    !EXEC_IO_I
  27.  
  28. *--------------------------------------------------------------------
  29. *
  30. * Driver error definitions
  31. *
  32. *--------------------------------------------------------------------
  33.  
  34. ParErr_DevBusy          EQU   1
  35. ParErr_BufTooBig        EQU   2
  36. ParErr_InvParam         EQU   3
  37. ParErr_LineErr          EQU   4
  38. ParErr_NotOpen          EQU   5
  39. ParErr_PortReset        EQU   6
  40. ParErr_InitErr          EQU   7
  41.  
  42. *--------------------------------------------------------------------
  43. *
  44. * Useful constants
  45. *
  46. *--------------------------------------------------------------------
  47. *
  48. PDCMD_QUERY             EQU   CMD_NONSTD 
  49. PDCMD_SETPARAMS         EQU   CMD_NONSTD+1
  50. Par_DEVFINISH           EQU   10    ; number of device comands 
  51. *
  52. *--------------------------------------------------------------------
  53. *
  54. * Driver Specific Commands
  55. *
  56. *--------------------------------------------------------------------
  57.  
  58. *-- PARALLELNAME is a generic macro to get the name of the driver.  This
  59. *-- way if the name is ever changed you will pick up the change
  60. *-- automatically.
  61. *--
  62. *-- Normal usage would be:
  63. *--
  64. *-- internalName: PARALLELNAME
  65. *--
  66.  
  67. PARALLELNAME:  MACRO
  68.       STRING   'parallel.device'
  69.       ENDM
  70.  
  71.       BITDEF   PAR,SHARED,5      ; PARFLAGS non-exclusive access
  72.       BITDEF   PAR,RAD_BOOGIE,3  ;    "     (not yet implemented)
  73.       BITDEF   PAR,EOFMODE,1     ;    "     EOF mode enabled bit
  74.       BITDEF   IOPAR,QUEUED,6    ; IO_FLAGS rqst-queued bit
  75.       BITDEF   IOPAR,ABORT,5     ;    "     rqst-aborted bit
  76.       BITDEF   IOPAR,ACTIVE,4    ;    "     rqst-qued-or-current bit
  77.       BITDEF   IOPT,RWDIR,3      ; IO_STATUS read=0,write=1
  78.       BITDEF   IOPT,PBUSY,2      ;    "     printer in busy toggle
  79.       BITDEF   IOPT,PAPEROUT,1   ;    "     paper out
  80.       BITDEF   IOPT,PSEL,0       ;    "     printer selected
  81. *
  82. *
  83. ************************************************************************
  84.  
  85.  STRUCTURE PTERMARRAY,0
  86.         ULONG    PTERMARRAY_0
  87.         ULONG    PTERMARRAY_1
  88.         LABEL    PTERMARRAY_SIZE
  89.  
  90. *****************************************************************
  91. *  CAUTION !!!  IF YOU ACCESS the parallel.device, you MUST (!!!!) use an
  92. *  IOEXTPAR-sized structure or you may overlay innocent memory, okay ?!   
  93. ***************************************************************** 
  94.   
  95.  STRUCTURE IOEXTPAR,IOSTD_SIZE
  96.  
  97. *     STRUCT   MsgNode
  98. *   0   APTR     Succ
  99. *   4   APTR     Pred
  100. *   8   UBYTE    Type
  101. *   9   UBYTE    Pri
  102. *   A   APTR     Name
  103. *   E   APTR     ReplyPort
  104. *  12   UWORD    MNLength
  105. *     STRUCT   IOExt
  106. *  14   APTR     IO_DEVICE
  107. *  18   APTR     IO_UNIT
  108. *  1C   UWORD    IO_COMMAND
  109. *  1E   UBYTE    IO_FLAGS
  110. *  1F   UBYTE    IO_ERROR
  111. *     STRUCT   IOStdExt
  112. *  20   ULONG    IO_ACTUAL
  113. *  24   ULONG    IO_LENGTH
  114. *  28   APTR     IO_DATA
  115. *  2C   ULONG    IO_OFFSET
  116. *
  117. *
  118. *  30
  119.       ULONG    IO_PEXTFLAGS         ; (not used) flag extension area
  120.       UBYTE    IO_PARSTATUS         ; device status (see bit defs above)
  121.       UBYTE    IO_PARFLAGS          ; see PARFLAGS bit definitions above 
  122.       STRUCT   IO_PTERMARRAY,PTERMARRAY_SIZE ; termination char array
  123.       LABEL    IOEXTPar_SIZE
  124.  
  125.  
  126.     ENDC    !DEVICES_PARALLEL_I
  127.